package com.itfreer.data.metadata;

import java.util.List;

/**
 * 元数据信息
 */
public interface IMetadata {

	/**
	 * 获取数据库中的表名称与视图名称
	 * 
	 * @return
	 */
	List<String> getTablesAndViews() throws Exception;

	/**
	 * 利用表名和数据库用户名查询出该表对应的字段类型
	 * 
	 * @param tableName
	 *            表名
	 * @return
	 * @throws Exception
	 */
	List<Field> getFields(String tableName) throws Exception;

	/**
	 * 利用表名和数据库用户名查询出该表对应的字段类型
	 * @param driver		驱动
	 * @param url		url信息
	 * @param username	用户名
	 * @param password	密码
	 * @param tableName 	表名
	 * @return
	 * @throws Exception
	 */
	List<Field> getFields(String driver, String url, String username, String password, String tableName) throws Exception;
}
